<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组的方法</title>
    <script>
        /* 
            静态方法
                Array.isArray()
                    用来检查一个对象是不是一个数组

            实例方法
                at()
                    可以根据索引获取数组中的指定元素
                    at可以接受负索引作为参数

                concat()
                    用来连接两个或多个数组
                    返回一个连接成的新数组，对原数组没影响。

                indexOf()
                    获取元素在数组中第一次出现的索引
                    参数：
                        1.要查询的元素
                        2.开始查询的查询起始位置,从开始位置向后搜索

                    如果找到了则返回元素的索引，没找到则返回-1
                    
                lastIndexOf()
                    获取元素在数组中最后一次出现的位置。
                    参数同上

                join()
                    将一个数组中的元素连接为一个字符串。
                    参数
                        转为字符串各元素之间的连接符
                        默认是,作为连接符

                slice()(是一种非破坏性方法，不会破坏原来的数组，只会返回截取到的数组，不同于splice())
                    用来截取数组
                    参数：
                        1.截取的起始位置（包括这个位置）
                        2.截取的结束位置（不包括这个位置）
                        第二个参数可以省略不写，如果不写则会一直截取到最后
                        如果将两个参数都省略，则可以对数组进行浅拷贝（浅复制）
        */



        // 1. Array.isArray()     用来检查一个对象是不是一个数组。
        const  str='0,1,2,3,4,5,6,7,8,9'
        const arr1=str.split(',')   //传入参数，通过参数将字符串分割成一个有序的子串列表，将这些子串放入一个数组，并返回该数组。
       
        const delArray1=arr1.splice(6)    // ['6','7','8','9']      //  表示要删除的元素，从索引为6开始，之后的都不要，这些删除的也是一个数组
        
        console.log(arr1)  // ['0', '1', '2', '3', '4', '5']    // 打印删除之后的数组

        console.log(Array.isArray(arr1))    //true


        // 2.  at()可以根据索引获取数组中的指定元素。
        console.log(arr1.at(2))             //  '2'
        console.log(arr1[2])                //  '2'

        console.log(arr1.at(-1))            //  '5'
        console.log(arr1[-1])               //   undefined
        console.log(arr1[arr1.length-1])    //  '5'

        // 3.  concat()用来连接两个或多个数组。
        const  arr3=['10','11','12']
        const  arr=arr1.concat(delArray1,arr3)
        console.log(arr)    //  ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']

        // 4.  indexOf()获取元素在数组中第一次出现的索引    lastIndexOf()获取元素在数组中最后一次出现的位置。
        console.log(arr.indexOf('2'))   // 2
        console.log(arr.lastIndexOf('2'))   // 2

        // 5.join()将一个数组中的元素连接为一个字符串。
        console.log(arr.join('&'))  //  '0&1&2&3&4&5&6&7&8&9&10&11&12'
        
        // 6.slice()用来截取数组,不会破坏原来的数组。
        console.log(arr.slice(0,6))
        console.log(arr)
    </script>
</head>

<body>

</body>

</html>